1. Field
The present disclosure relates to robots and, more particularly, to a hierarchical framework for representing and planning tasks for robots.
2. Description of the Related Art
A robot typically includes moving parts, such as arms, wheels and end-effectors for performing motor functions, as well as a processor for planning the actions of the robot. Often, these robots perform long sequences of actions that begin in a start space and end in a goal space (i.e., to complete a desired task). It is preferable for the result of the long sequence of actions to be determined prior to the robot acting because certain later actions may not work as expected after a prior action has completed. The calculation of the long sequences of actions can be cumbersome and require extensive processing and memory capabilities. Each additional action to be performed between the start space and the goal space increases the complexity and processing and memory requirements for determining a trajectory from the start space to the goal space.
In order to attempt to reduce the complexity and the processing and memory requirements, some robot controllers split a long-trajectory task into multiple smaller tasks and treat each smaller task as a complete task. While this can reduce requirements of the controller, one of the smaller tasks between the start space and the goal space may provide undesirable results as a smaller task may end in a space from which it is impossible to reach the goal space because the planning only accounts for one of the smaller tasks at a time. Accordingly, use of these methods may increase the time and energy required to achieve the desired task as the robot may have to backtrack and attempt different smaller tasks to move towards the goal space.
Other robot controllers represent the intermediate tasks in the abstract so that the task may or may not be physically possible. The controller may use the outcomes of the abstract representations of the intermediate tasks to determine an approximation of the result of the combination of intermediate tasks in order to determine if the combination will result in the desired task being accomplished. Because the path from the start space to the goal space is represented by abstractions that may or may not be possible, the robot may still have to backtrack and start over from a previous intermediate task.
Thus, there is a need for a system for a hierarchal representation of intermediate tasks and combinations of the intermediate tasks so that accurate solutions to long horizon tasks can be simulated by a controller of a robot.